package com.foreknow.homework;

import java.util.Arrays;




public class task2 {
    public static void main(String[] args) {
//        1、编写一个简单程序，要求数组长度为5，分别赋值10，20，30，40，50，在控制台输出该数组的值。（知识点：数组定义和创建、一维数组初始化）[必做题]
//        int[] a = new int[]{10,20,30,40,50};
//        for(int item:a){
//            System.out.println(item);
//        }

//        2、将一个字符数组的值（neusofteducation）拷贝到另一个字符数组中。（知识点：数组复制） [必做题]
//        String[] str = {"neusofteducation"};
//        String[] newstr = Arrays.copyOf(str,1);
//        for(String item:newstr){
//            System.out.println(item);
//        }

//        3、给定一个有9个整数（1,6,2,3,9,4,5,7,8）的数组，先排序，然后输出排序后的数组的值。（知识点：Arrays.sort排序、冒泡排序） [必做题]
////Arrays.sort()排序
//        int[] num = new int[]{1,6,2,3,9,4,5,7,8};
//        Arrays.sort(num);
//        for(int item:num){
//            System.out.println(item);
//        }
//        //冒泡排序
//        int[] num = new int[]{1, 6, 2, 3, 9, 4, 5, 7, 8};
//        for (int i = 1; i < num.length; i++) {
//            for (int j = 0; j < num.length-i; j++) {
//                if (num[j] > num[j + 1]) {
//                    int temp = num[j];
//                    num[j] = num[j+1];
//                    num[j+1] = temp;
//
//                }
//            }
//
//        }
//        for (int item : num) {
//            System.out.print(item);
//        }

//        4、 输出一个double型二维数组（长度分别为5、4，值自己设定）的值。（知识点：数组定义和创建、多维数组初始化、数组遍历） [必做题]
//        double[][] db = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};
//        for (int i = 0; i < db.length; i++) {
//            for (int j = 0; j < db[i].length; j++) {
//                System.out.print(db[i][j]);
//            }
//            System.out.println("**");
//        }

//        5、 在一个有8个整数（18，25，7，36，13，2，89，63）的数组中找出其中最大的数及其下标。（知识点：数组遍历、数组元素访问） [必做题]
//        int[] num={18,25,7,36,13,2,89,63};
//        int max=num[0];
//        for(int i =0;i<num.length;i++){
//            if(max<num[i]){
//                max=num[i];
//            }
//        }
//        System.out.println("最大值："+max);
//        int index = Arrays.binarySearch(num,max);
//        System.out.println("下标："+index);

//        6.有2个多维数组分别是 2 3 4   和  1 5 2 8
//        4 6 8       5 9 10 -3
//        2 7 -5 -18
//        按照如下方式进行运算。生成一个2行4列的数组。此数组的第1行1列是2*1+3*5+4*2第1行2列是2*5+3*9+4*7  第2行1列是4*1+6*5+8*2 依次类推。（知识点：多维数组定义和创建、数组遍历、数组元素访问） [选作题]
//        int[][] num1={{2,3,4},{4,6,8}};
//        int[][] num2={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};
//        int[][] newnum= new int[2][4];
//        for(int i =0;i<2;i++){
//            for (int j=0;j<4;j++){
//                newnum[i][j]=0;
//                for(int m=0;m<2;m++){
//                    newnum[i][j]=num1[i][m]*num2[m][j];
//                }
//            }
//        }
//        for(int i =0;i< newnum.length;i++){
//            for (int j=0;j<newnum[i].length;j++){
//                System.out.print(newnum[i][j]+"  ");
//            }
//            System.out.println();
//        }

//        7.将一个数组中的元素逆序存放（知识点：数组遍历、数组元素访问） [选作题]
//        int[] num ={1,2,3,4,5,6,7,8,9};
//        int[] newnum=new int[num.length];
//        int j=0;
//        for (int i= num.length-1;i>-1;i--){
//            newnum[j]=num[i];
//            j++;
//        }
//        for (int item:newnum){
//            System.out.print(item);
//        }

//        8.将一个数组中的重复元素保留一个其他的清零。（知识点：数组遍历、数组元素访问） [选作题]
//        nt[] a= {1,2,3,4,5,6,6,7,7,8,8,9,9};
//        for(int i=0;i<a.length;i++)
//        {
//            for(int j =i+1; j<a.length;j++)
//            {
//                if(a[i]==a[j])
//                {
//                    a[j]=0;
//                }
//            }
//        }
//        for(int item:a)
//        {
//            System.out.print(item);
//        }
//        给定一维数组{ -10，2，3，246，-100，0，5} ，计算出数组中的平均值、最大值、最小值。
//        int[] num ={-10,2,3,246,-100,0,5};
//        int max=num[0];
//        int min=num[0];
//        double sum=0;
//        for(int i =0;i<num.length;i++){
//            if(max<num[i]){
//                max=num[i];
//            }else if (min>num[i]){
//                min=num[i];
//            }
//            sum=num[i]+sum;
//        }
//        System.out.println("最大值："+max);
//        System.out.println("最小值："+min);
//        System.out.println("平均值："+sum/num.length);
    }
}
